using System;
using System.Collections.Generic;
using System.Text;

namespace Colman.Rpg.Messaging
{
    /// <summary>
    /// Represents a notification from the server that a player has levelled up.
    /// </summary>
    [Serializable]
    public class PlayerLevelledUpResponse : ResponseMessage
    {
        /// <summary>
        /// Creates a new instance of <see cref="PlayerLevelledUpResponse" />.
        /// </summary>
        public PlayerLevelledUpResponse(Player player, int pointsOwedForLevellingUp)
            : base(ResponseDestination.Everyone)
        {
            this.player = player;
            this.pointsOwedForLevellingUp = pointsOwedForLevellingUp;
        }

        #region Player Player { get; } (player)
        private Player player;

        /// <summary>
        /// Gets the player that has levelled up.
        /// </summary>
        public Player Player
        {
            [System.Diagnostics.DebuggerStepThrough]
            get
            {
                return this.player;
            }
        }
        #endregion

        #region int PointsOwedForLevellingUp { get; } (pointsOwedForLevellingUp)
        private int pointsOwedForLevellingUp;

        /// <summary>
        /// Gets the points owed to the player for levelling up.
        /// </summary>
        public int PointsOwedForLevellingUp
        {
            [System.Diagnostics.DebuggerStepThrough]
            get
            {
                return this.pointsOwedForLevellingUp;
            }
        }
        #endregion
    }
}
